#pragma once
#include "Node.h"

class InternalNode : public Node {
private:		
	Node* parent;
	Node* left;
	Node* right;	

public:
	InternalNode(const int w) : Node(w) {}
	InternalNode(const Node &node) : Node ( node.getWeight() ) { parent = node.getParent(); }
	InternalNode(const InternalNode &node)  : Node ( node.getWeight() )  { parent = node.parent; left = node.left; right = node.right;}

	void setLeft(Node* left);	
	Node* getLeft();

	void setRight(Node* right);
	Node* getRight();

	virtual bool isLeaf();
};

